# -*- python -*-
# ex: set syntax=python:
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# See master.experimental/slaves.cfg for documentation.


slaves = []


def _AddSlave(name, os, version, hostname):
  slaves.append({
      'bits': '64',
      'builder': name,
      'hostname': hostname,
      'master': 'ChromiumPerfTryServer',
      'os': os,
      'version': version,
  })


def _AddSlaves(name, os, version, pattern, host_numbers):
  for host_number in host_numbers:
    _AddSlave(name, os, version, pattern % host_number)


_AddSlaves('Mac Builder', 'mac', '10.11', 'vm%d-m4', [892])


_AddSlaves('android_perf_bisect_builder', 'linux', 'trusty', 'slave%d-c4',
           [726, 727, 728, 729])
_AddSlaves('android_arm64_perf_bisect_builder', 'linux', 'trusty',
           'slave%d-c4', [423, 424])
_AddSlaves('android_one_perf_bisect', 'linux', 'trusty', 'build%d-b4',
           [98, 110, 111])
_AddSlaves('android_nexus5_perf_bisect', 'linux', 'trusty', 'build%d-b4',
           [99, 106, 114])
_AddSlaves(['android_nexus5X_perf_bisect', 'staging_android_nexus5X_perf_bisect'],
           'linux', 'trusty', 'build%d-b4', [42, 43, 44, 45])
_AddSlaves('android_nexus6_perf_bisect', 'linux', 'trusty', 'build%d-b4',
           [107, 108, 109])
_AddSlaves('android_nexus7_perf_bisect', 'linux', 'trusty', 'build%d-b4',
           [101, 102, 103])


_AddSlaves('linux_perf_bisect_builder', 'linux', 'trusty', 'build%d-m4',
           [26, 27, 28, 29])
_AddSlaves(['linux_perf_bisect', 'staging_linux_perf_bisect'], 'linux',
           'trusty', 'build%d-m4', [176, 177, 178, 238, 239])


_AddSlaves('mac_perf_bisect_builder', 'mac', '10.11', 'vm%d-m4',
           [889, 890, 891])
_AddSlaves('mac_10_11_perf_bisect', 'mac', '10.11', 'build%d-b4',
           [165, 166, 167])
_AddSlaves(['mac_10_12_perf_bisect', 'staging_mac_10_12_perf_bisect'],
           'mac', '10.12', 'build%d-m4', [224, 225, 226])
_AddSlaves('mac_retina_perf_bisect', 'mac', '10.11', 'build%d-b4',
           [27, 28, 29])
_AddSlaves('mac_pro_perf_bisect', 'mac', '10.11', 'build%d-b4',
           [199, 200, 201])
_AddSlaves('mac_air_perf_bisect', 'mac', '10.11', 'build%d-b4',
           [194, 195, 196])
_AddSlaves('mac_10_12_mini_8gb_perf_bisect', 'mac', '10.12', 'build%d-b4',
           [31, 32, 33])


_AddSlaves('win_perf_bisect_builder', 'win', 'win7', 'build%d-m4',
           [36, 37, 38, 39])
_AddSlaves('winx64_bisect_builder', 'win', 'win7', 'build%d-m4',
           [40, 41, 42, 43])
_AddSlaves(['win_perf_bisect', 'staging_win_perf_bisect'],
           'win', 'win7', 'build%d-m4', [240, 241, 242])
_AddSlaves('win_8_perf_bisect', 'win', 'win8', 'build%d-m4',
           [172, 173, 174])
_AddSlaves('win_x64_perf_bisect', 'win', 'win7', 'build%d-m4',
           [18, 170, 171])
_AddSlaves('winx64ati_perf_bisect', 'win', 'win7', 'build%d-m4',
           [102, 103, 104])
_AddSlaves('winx64nvidia_perf_bisect', 'win', 'win7', 'build%d-m4',
           [96, 97, 98, 157])
_AddSlaves('winx64intel_perf_bisect', 'win', 'win7', 'build%d-m4',
           [227, 228, 229])
_AddSlaves('winx64_10_perf_bisect', 'win', 'win10', 'build%d-m4',
           [230, 231, 232, 233, 234, 235])
_AddSlaves('winx64_zen_perf_bisect', 'win', 'win10', 'build%d-b4',
           [49, 50, 51, 52, 53, 54])
_AddSlaves('winx64_high_dpi_perf_bisect', 'win', 'win10', 'build%d-b4',
           [181, 182, 183, 184])

_AddSlaves('linux_fyi_perf_bisect', 'linux', 'trusty', 'slave%d-c4', [906])
_AddSlaves('mac_fyi_perf_bisect', 'mac', '10.10', 'vm%d-m4', [1107])
_AddSlaves('win_fyi_perf_bisect', 'win', 'win7', 'vm%d-m4', [1106])
_AddSlaves('android_fyi_perf_bisect', 'linux', 'trusty', 'build%d-b4', [113])

_AddSlaves('android_webview_arm64_aosp_perf_bisect', 'linux', 'trusty',
           'build%d-b4', [225])
_AddSlaves('android_webview_nexus6_aosp_perf_bisect', 'linux', 'trusty',
           'build%d-b4', [185])
